//
//  UIView+Extension.m
//  黑马微博2期
//
//  Created by apple on 14-10-7.
//  Copyright (c) 2014年 heima. All rights reserved.
//

#import "UIView+Extension.h"

@implementation UIView (Extension)

- (void)setX:(CGFloat)x
{
    CGRect frame = self.frame;
    frame.origin.x = x;
    self.frame = frame;
}

- (void)setY:(CGFloat)y
{
    CGRect frame = self.frame;
    frame.origin.y = y;
    self.frame = frame;
}

- (CGFloat)x
{
    return self.frame.origin.x;
}

- (CGFloat)y
{
    return self.frame.origin.y;
}

- (void)setCenterX:(CGFloat)centerX
{
    CGPoint center = self.center;
    center.x = centerX;
    self.center = center;
}

- (CGFloat)centerX
{
    return self.center.x;
}

- (void)setCenterY:(CGFloat)centerY
{
    CGPoint center = self.center;
    center.y = centerY;
    self.center = center;
}

- (CGFloat)centerY
{
    return self.center.y;
}

- (void)setWidth:(CGFloat)width
{
    CGRect frame = self.frame;
    frame.size.width = width;
    self.frame = frame;
}

- (void)setHeight:(CGFloat)height
{
    CGRect frame = self.frame;
    frame.size.height = height;
    self.frame = frame;
}

- (CGFloat)height
{
    return self.frame.size.height;
}

- (CGFloat)width
{
    return self.frame.size.width;
}

- (void)setSize:(CGSize)size
{
    CGRect frame = self.frame;
    frame.size = size;
    self.frame = frame;
}

- (CGSize)size
{
    return self.frame.size;
}

- (void)setOrigin:(CGPoint)origin
{
    CGRect frame = self.frame;
    frame.origin = origin;
    self.frame = frame;
}

- (CGPoint)origin
{
    return self.frame.origin;
}

- (CGFloat)leftEdge
{
    return self.frame.origin.x;
}

- (CGFloat)topEdge
{
    return self.frame.origin.y;
}

- (CGFloat)rightEdge
{
    return self.frame.origin.x+self.frame.size.width;
}

- (CGFloat)bottomEdge
{
    return self.frame.origin.y+self.frame.size.height;
}

-(MBProgressHUD *)gethudType:(BOOL)isHidden{
    MBProgressHUD *hud = [self viewWithTag:1000000];
    if (isHidden) {
        if (hud) {
            return hud;
        }else{
        }
    }
    if (!hud) {
        hud = [[MBProgressHUD alloc] initWithView:self];
        hud.tag = 1000000;
        UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(mgt_tapHud)];
        [hud addGestureRecognizer:tapGesture];
        //[self addSubview:hud];
    }
    if (hud)
    {
        [hud removeFromSuperview];
        [self addSubview:hud];
    }
    return hud;
}

- (void)showString:(NSString *)text forSeconds:(NSTimeInterval)seconds
{
    MBProgressHUD *hud = [self gethudType:NO];
    hud.mode = MBProgressHUDModeText;
    hud.userInteractionEnabled = NO;
    hud.labelText = text;
    [hud setHidden:NO];
    [hud show:YES];
    [self bringSubviewToFront:hud];
    [self hideHudAfterSeconds:seconds];
}

- (void)showHudWithString:(NSString *)text forSeconds:(NSTimeInterval)seconds
{
    [self showHudWithString:text];
    [self hideHudAfterSeconds:seconds];
}

- (void)showHudWithString:(NSString *)text
{
    MBProgressHUD *hud = [self gethudType:NO];
    hud.mode = MBProgressHUDModeIndeterminate;
    hud.labelText = text;
    [hud show:YES];
    [self bringSubviewToFront:hud];
}

- (void)mgt_tapHud
{
    [[self gethudType:NO] hide:NO];
}

- (void)hideHud
{
    [[self gethudType:NO] hide:NO];
}

- (void)hideHudAfterSeconds:(NSTimeInterval)interval
{
    [[self gethudType:YES] hide:YES afterDelay:interval];
}

@end
